Computer viruses and other malicious software present a massive problem for the information technology industry. Since a general purpose computer can, by definition, run arbitrary code, it can be very difficult to maintain control over exactly which software is allowed to run, either in part or in whole, on a given general purpose computer platform and thus, it can be difficult to prevent the execution of malware or other types of undesirable software. There are a number of methods by which this level of control is currently attempted, but most efforts to isolate the processor from attack suffer from two fundamental problems: loss of generality in the processor platform or loss of performance. These losses stem from the basic issue of how to quickly and unequivocally distinguish between authorized and unauthorized usage modes.
A secondary, but related problem is that of copyright control. The vast majority of written, audio and visual works of art that are created today either begin or end up in digital format. One of the characteristics of digital data is that it can easily be substantially exactly duplicated. This property facilitates a wide variety of inexpensive distribution mechanisms, most of which are not easily controlled. The inherent inability to limit the distribution of digital content has had far-reaching implications on the field of copyright law over the last couple of decades. While certain systems and methods have been developed to control the copying and distribution of such duplicated data, one problem with these systems and methods is that they may be circumvented through the execution of certain types of software in conjunction with these systems and methods, for example, code which modifies the systems and methods, or obtains data utilized by such systems and methods.
Thus, there is a need to find systems and methods by which some amount of control over the execution of code on a general purpose computing device may be asserted, where by utilizing such systems and methods in conjunction with a security protocol the effectiveness of such a system may be enhanced.